package com.bifang.core.dao.mapper;

import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.bifang.common.vo.HomePageOperationVO;
import com.bifang.common.vo.OplogQueryVO;
import com.bifang.common.vo.OplogUpdateDelSqlVO;
import com.bifang.common.vo.OplogVO;
import com.bifang.core.dao.model.Oplog;
import java.util.List;
import org.apache.ibatis.annotations.Mapper;

/**
 * 业务日志主表 Mapper 接口
 *
 * @author chenzh
 * @since 2020-06-13
 */
@Mapper
public interface OplogMapper extends BaseMapper<Oplog> {
    /** 获取办理中列表 */
    List<OplogVO> getHandleTasks(OplogQueryVO oplogQueryVO);

    /** 获取已办结列表 */
    List<OplogVO> getFinishedTasks(OplogQueryVO oplogQueryVO);

    /**
     * 查询已办列表(通过操作日志)
     *
     * @param oplogQueryVO
     * @return
     */
    List<OplogVO> getAllApplyTasks(OplogQueryVO oplogQueryVO);

    /**
     * 查询已办列表(通过操作日志)
     *
     * @param oplogQueryVO
     * @return
     */
    List<OplogVO> getApplyedTasks(OplogQueryVO oplogQueryVO);

    void commonUpdateDel(OplogUpdateDelSqlVO vo);

    List<HomePageOperationVO> getOperationNum(OplogQueryVO oplogQueryVO);

    Integer getApplyedNum(OplogQueryVO vo);

    void moveOplogData(OplogQueryVO oplogQueryVO);

    void moveOplogApiData(OplogQueryVO oplogQueryVO);

    void moveOplogTableChangeData(OplogQueryVO oplogQueryVO);

    List<String> getClearOplogData(OplogQueryVO oplogQueryVO);

    List<String> getClearOplogApiData(OplogQueryVO oplogQueryVO);

    List<String> getClearOplogTableChangeData(OplogQueryVO oplogQueryVO);
}
